package com.st.event.demo.strategy;

import com.st.event.demo.post.OrderFinishTriggerListener;
import com.st.event.demo.source.EventAttribute;

import java.lang.reflect.Method;
import java.util.Map;

public interface EventStrategy {

    StrategyHandler getHandler(EventAttribute eventAttribute);

    Object wrap(Class<?> clientInterface, Method method, Object arg);

    Object doExecute(EventAttribute eventAttribute, Class<?> clientInterface, Method method, Object[] args, Map<String, OrderFinishTriggerListener> params);

}
